package model

import (
	"fmt"
	"gorm.io/gorm"
	"time"
)

type _WkbRealnameAuthMgr struct {
	*_BaseMgr
}

// WkbRealnameAuthMgr open func
func WkbRealnameAuthMgr(db *gorm.DB) *_WkbRealnameAuthMgr {
	if db == nil {
		panic(fmt.Errorf("WkbRealnameAuthMgr need init by db"))
	}
	ctx, cancel := context.WithCancel(context.Background())
	return &_WkbRealnameAuthMgr{_BaseMgr: &_BaseMgr{DB: db.Table("wkb_realname_auth"), isRelated: globalIsRelated, ctx: ctx, cancel: cancel, timeout: -1}}
}

// GetTableName get sql table name.获取数据库名字
func (obj *_WkbRealnameAuthMgr) GetTableName() string {
	return "wkb_realname_auth"
}

// Get 获取
func (obj *_WkbRealnameAuthMgr) Get() (result WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Find(&result).Error

	return
}

// Gets 获取批量结果
func (obj *_WkbRealnameAuthMgr) Gets() (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Find(&results).Error

	return
}

//////////////////////////option case ////////////////////////////////////////////

// WithID id获取 自增id
func (obj *_WkbRealnameAuthMgr) WithID(id int) Option {
	return optionFunc(func(o *options) { o.query["id"] = id })
}

// WithUId uid获取 用户id
func (obj *_WkbRealnameAuthMgr) WithUId(uid int) Option {
	return optionFunc(func(o *options) { o.query["uid"] = uid })
}

// WithAdmin admin获取 管理员id
func (obj *_WkbRealnameAuthMgr) WithAdmin(admin int) Option {
	return optionFunc(func(o *options) { o.query["admin"] = admin })
}

// WithInvitationUserID invitation_user_id获取 邀请人用户id
func (obj *_WkbRealnameAuthMgr) WithInvitationUserID(invitationUserID int) Option {
	return optionFunc(func(o *options) { o.query["invitation_user_id"] = invitationUserID })
}

// WithUsername username获取 用户名
func (obj *_WkbRealnameAuthMgr) WithUsername(username string) Option {
	return optionFunc(func(o *options) { o.query["username"] = username })
}

// WithRealname realname获取 用户真实姓名
func (obj *_WkbRealnameAuthMgr) WithRealname(realname string) Option {
	return optionFunc(func(o *options) { o.query["realname"] = realname })
}

// WithEmail email获取 邮箱
func (obj *_WkbRealnameAuthMgr) WithEmail(email string) Option {
	return optionFunc(func(o *options) { o.query["email"] = email })
}

// WithTel tel获取 电话
func (obj *_WkbRealnameAuthMgr) WithTel(tel string) Option {
	return optionFunc(func(o *options) { o.query["tel"] = tel })
}

// WithCardNumber card_number获取 用户证件号
func (obj *_WkbRealnameAuthMgr) WithCardNumber(cardNumber string) Option {
	return optionFunc(func(o *options) { o.query["card_number"] = cardNumber })
}

// WithCardFrontSide card_front_side获取 身份证正面
func (obj *_WkbRealnameAuthMgr) WithCardFrontSide(cardFrontSide string) Option {
	return optionFunc(func(o *options) { o.query["card_front_side"] = cardFrontSide })
}

// WithCardBackDside card_back_dside获取 身份证背面
func (obj *_WkbRealnameAuthMgr) WithCardBackDside(cardBackDside string) Option {
	return optionFunc(func(o *options) { o.query["card_back_dside"] = cardBackDside })
}

// WithValidationImg validation_img获取 持证验证图片
func (obj *_WkbRealnameAuthMgr) WithValidationImg(validationImg string) Option {
	return optionFunc(func(o *options) { o.query["validation_img"] = validationImg })
}

// WithBusinessCard business_card获取 名片
func (obj *_WkbRealnameAuthMgr) WithBusinessCard(businessCard string) Option {
	return optionFunc(func(o *options) { o.query["business_card"] = businessCard })
}

// WithDistrict district获取 地理区域
func (obj *_WkbRealnameAuthMgr) WithDistrict(district string) Option {
	return optionFunc(func(o *options) { o.query["district"] = district })
}

// WithStatus status获取 认证状态 0：待验证 1：成功 2：失败
func (obj *_WkbRealnameAuthMgr) WithStatus(status int8) Option {
	return optionFunc(func(o *options) { o.query["status"] = status })
}

// WithCardType card_type获取 证件类型  1-身份证  2-护照
func (obj *_WkbRealnameAuthMgr) WithCardType(cardType int8) Option {
	return optionFunc(func(o *options) { o.query["card_type"] = cardType })
}

// WithType type获取 认证类型  1-身份认证  2-企业认证
func (obj *_WkbRealnameAuthMgr) WithType(_type int8) Option {
	return optionFunc(func(o *options) { o.query["type"] = _type })
}

// WithFaeCategoryID fae_category_id获取 fae申请版主应用分类
func (obj *_WkbRealnameAuthMgr) WithFaeCategoryID(faeCategoryID string) Option {
	return optionFunc(func(o *options) { o.query["fae_category_id"] = faeCategoryID })
}

// WithUsertype usertype获取 用户类型
func (obj *_WkbRealnameAuthMgr) WithUsertype(usertype int8) Option {
	return optionFunc(func(o *options) { o.query["usertype"] = usertype })
}

// WithReason reason获取 审核失败理由
func (obj *_WkbRealnameAuthMgr) WithReason(reason string) Option {
	return optionFunc(func(o *options) { o.query["reason"] = reason })
}

// WithResume resume获取 简历
func (obj *_WkbRealnameAuthMgr) WithResume(resume string) Option {
	return optionFunc(func(o *options) { o.query["resume"] = resume })
}

// WithProvince province获取 省
func (obj *_WkbRealnameAuthMgr) WithProvince(province int) Option {
	return optionFunc(func(o *options) { o.query["province"] = province })
}

// WithCity city获取 市
func (obj *_WkbRealnameAuthMgr) WithCity(city int) Option {
	return optionFunc(func(o *options) { o.query["city"] = city })
}

// WithCompanyAddress company_address获取 所在公司
func (obj *_WkbRealnameAuthMgr) WithCompanyAddress(companyAddress string) Option {
	return optionFunc(func(o *options) { o.query["company_address"] = companyAddress })
}

// WithWorkingYear working_year获取 工作年限
func (obj *_WkbRealnameAuthMgr) WithWorkingYear(workingYear string) Option {
	return optionFunc(func(o *options) { o.query["working_year"] = workingYear })
}

// WithAuthTime auth_time获取 认证通过时间
func (obj *_WkbRealnameAuthMgr) WithAuthTime(authTime time.Time) Option {
	return optionFunc(func(o *options) { o.query["auth_time"] = authTime })
}

// WithFailTime fail_time获取 审核失败时间
func (obj *_WkbRealnameAuthMgr) WithFailTime(failTime time.Time) Option {
	return optionFunc(func(o *options) { o.query["fail_time"] = failTime })
}

// WithIntegralOne integral_one获取 FAE认证积分
func (obj *_WkbRealnameAuthMgr) WithIntegralOne(integralOne int) Option {
	return optionFunc(func(o *options) { o.query["integral_one"] = integralOne })
}

// WithIntegralTwo integral_two获取 邀请人积分
func (obj *_WkbRealnameAuthMgr) WithIntegralTwo(integralTwo int) Option {
	return optionFunc(func(o *options) { o.query["integral_two"] = integralTwo })
}

// WithRecordText record_text获取 记录文本
func (obj *_WkbRealnameAuthMgr) WithRecordText(recordText string) Option {
	return optionFunc(func(o *options) { o.query["record_text"] = recordText })
}

// WithNoviceVideo novice_video获取 新手视频
func (obj *_WkbRealnameAuthMgr) WithNoviceVideo(noviceVideo int) Option {
	return optionFunc(func(o *options) { o.query["novice_video"] = noviceVideo })
}

// WithClass class获取 分类
func (obj *_WkbRealnameAuthMgr) WithClass(class int) Option {
	return optionFunc(func(o *options) { o.query["class"] = class })
}

// WithCreatedAt created_at获取 创建时间
func (obj *_WkbRealnameAuthMgr) WithCreatedAt(createdAt time.Time) Option {
	return optionFunc(func(o *options) { o.query["created_at"] = createdAt })
}

// WithUpdatedAt updated_at获取 更新时间
func (obj *_WkbRealnameAuthMgr) WithUpdatedAt(updatedAt time.Time) Option {
	return optionFunc(func(o *options) { o.query["updated_at"] = updatedAt })
}

// GetByOption 功能选项模式获取
func (obj *_WkbRealnameAuthMgr) GetByOption(opts ...Option) (result WkbRealnameAuth, err error) {
	options := options{
		query: make(map[string]interface{}, len(opts)),
	}
	for _, o := range opts {
		o.apply(&options)
	}

	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where(options.query).Find(&result).Error

	return
}

// GetByOptions 批量功能选项模式获取
func (obj *_WkbRealnameAuthMgr) GetByOptions(opts ...Option) (results []*WkbRealnameAuth, err error) {
	options := options{
		query: make(map[string]interface{}, len(opts)),
	}
	for _, o := range opts {
		o.apply(&options)
	}

	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where(options.query).Find(&results).Error

	return
}

//////////////////////////enume case ////////////////////////////////////////////

// GetFromID 通过id获取内容 自增id
func (obj *_WkbRealnameAuthMgr) GetFromID(id int) (result WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("id = ?", id).Find(&result).Error

	return
}

// GetBatchFromID 批量唯一主键查找 自增id
func (obj *_WkbRealnameAuthMgr) GetBatchFromID(ids []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("id IN (?)", ids).Find(&results).Error

	return
}

// GetFromUId 通过uid获取内容 用户id
func (obj *_WkbRealnameAuthMgr) GetFromUId(uid int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("uid = ?", uid).Find(&results).Error

	return
}

// GetBatchFromUId 批量唯一主键查找 用户id
func (obj *_WkbRealnameAuthMgr) GetBatchFromUId(uids []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("uid IN (?)", uids).Find(&results).Error

	return
}

// GetFromAdmin 通过admin获取内容 管理员id
func (obj *_WkbRealnameAuthMgr) GetFromAdmin(admin int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("admin = ?", admin).Find(&results).Error

	return
}

// GetBatchFromAdmin 批量唯一主键查找 管理员id
func (obj *_WkbRealnameAuthMgr) GetBatchFromAdmin(admins []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("admin IN (?)", admins).Find(&results).Error

	return
}

// GetFromInvitationUserID 通过invitation_user_id获取内容 邀请人用户id
func (obj *_WkbRealnameAuthMgr) GetFromInvitationUserID(invitationUserID int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("invitation_user_id = ?", invitationUserID).Find(&results).Error

	return
}

// GetBatchFromInvitationUserID 批量唯一主键查找 邀请人用户id
func (obj *_WkbRealnameAuthMgr) GetBatchFromInvitationUserID(invitationUserIDs []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("invitation_user_id IN (?)", invitationUserIDs).Find(&results).Error

	return
}

// GetFromUsername 通过username获取内容 用户名
func (obj *_WkbRealnameAuthMgr) GetFromUsername(username string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("username = ?", username).Find(&results).Error

	return
}

// GetBatchFromUsername 批量唯一主键查找 用户名
func (obj *_WkbRealnameAuthMgr) GetBatchFromUsername(usernames []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("username IN (?)", usernames).Find(&results).Error

	return
}

// GetFromRealname 通过realname获取内容 用户真实姓名
func (obj *_WkbRealnameAuthMgr) GetFromRealname(realname string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("realname = ?", realname).Find(&results).Error

	return
}

// GetBatchFromRealname 批量唯一主键查找 用户真实姓名
func (obj *_WkbRealnameAuthMgr) GetBatchFromRealname(realnames []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("realname IN (?)", realnames).Find(&results).Error

	return
}

// GetFromEmail 通过email获取内容 邮箱
func (obj *_WkbRealnameAuthMgr) GetFromEmail(email string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("email = ?", email).Find(&results).Error

	return
}

// GetBatchFromEmail 批量唯一主键查找 邮箱
func (obj *_WkbRealnameAuthMgr) GetBatchFromEmail(emails []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("email IN (?)", emails).Find(&results).Error

	return
}

// GetFromTel 通过tel获取内容 电话
func (obj *_WkbRealnameAuthMgr) GetFromTel(tel string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("tel = ?", tel).Find(&results).Error

	return
}

// GetBatchFromTel 批量唯一主键查找 电话
func (obj *_WkbRealnameAuthMgr) GetBatchFromTel(tels []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("tel IN (?)", tels).Find(&results).Error

	return
}

// GetFromCardNumber 通过card_number获取内容 用户证件号
func (obj *_WkbRealnameAuthMgr) GetFromCardNumber(cardNumber string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_number = ?", cardNumber).Find(&results).Error

	return
}

// GetBatchFromCardNumber 批量唯一主键查找 用户证件号
func (obj *_WkbRealnameAuthMgr) GetBatchFromCardNumber(cardNumbers []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_number IN (?)", cardNumbers).Find(&results).Error

	return
}

// GetFromCardFrontSide 通过card_front_side获取内容 身份证正面
func (obj *_WkbRealnameAuthMgr) GetFromCardFrontSide(cardFrontSide string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_front_side = ?", cardFrontSide).Find(&results).Error

	return
}

// GetBatchFromCardFrontSide 批量唯一主键查找 身份证正面
func (obj *_WkbRealnameAuthMgr) GetBatchFromCardFrontSide(cardFrontSides []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_front_side IN (?)", cardFrontSides).Find(&results).Error

	return
}

// GetFromCardBackDside 通过card_back_dside获取内容 身份证背面
func (obj *_WkbRealnameAuthMgr) GetFromCardBackDside(cardBackDside string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_back_dside = ?", cardBackDside).Find(&results).Error

	return
}

// GetBatchFromCardBackDside 批量唯一主键查找 身份证背面
func (obj *_WkbRealnameAuthMgr) GetBatchFromCardBackDside(cardBackDsides []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_back_dside IN (?)", cardBackDsides).Find(&results).Error

	return
}

// GetFromValidationImg 通过validation_img获取内容 持证验证图片
func (obj *_WkbRealnameAuthMgr) GetFromValidationImg(validationImg string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("validation_img = ?", validationImg).Find(&results).Error

	return
}

// GetBatchFromValidationImg 批量唯一主键查找 持证验证图片
func (obj *_WkbRealnameAuthMgr) GetBatchFromValidationImg(validationImgs []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("validation_img IN (?)", validationImgs).Find(&results).Error

	return
}

// GetFromBusinessCard 通过business_card获取内容 名片
func (obj *_WkbRealnameAuthMgr) GetFromBusinessCard(businessCard string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("business_card = ?", businessCard).Find(&results).Error

	return
}

// GetBatchFromBusinessCard 批量唯一主键查找 名片
func (obj *_WkbRealnameAuthMgr) GetBatchFromBusinessCard(businessCards []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("business_card IN (?)", businessCards).Find(&results).Error

	return
}

// GetFromDistrict 通过district获取内容 地理区域
func (obj *_WkbRealnameAuthMgr) GetFromDistrict(district string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("district = ?", district).Find(&results).Error

	return
}

// GetBatchFromDistrict 批量唯一主键查找 地理区域
func (obj *_WkbRealnameAuthMgr) GetBatchFromDistrict(districts []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("district IN (?)", districts).Find(&results).Error

	return
}

// GetFromStatus 通过status获取内容 认证状态 0：待验证 1：成功 2：失败
func (obj *_WkbRealnameAuthMgr) GetFromStatus(status int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("status = ?", status).Find(&results).Error

	return
}

// GetBatchFromStatus 批量唯一主键查找 认证状态 0：待验证 1：成功 2：失败
func (obj *_WkbRealnameAuthMgr) GetBatchFromStatus(statuss []int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("status IN (?)", statuss).Find(&results).Error

	return
}

// GetFromCardType 通过card_type获取内容 证件类型  1-身份证  2-护照
func (obj *_WkbRealnameAuthMgr) GetFromCardType(cardType int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_type = ?", cardType).Find(&results).Error

	return
}

// GetBatchFromCardType 批量唯一主键查找 证件类型  1-身份证  2-护照
func (obj *_WkbRealnameAuthMgr) GetBatchFromCardType(cardTypes []int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("card_type IN (?)", cardTypes).Find(&results).Error

	return
}

// GetFromType 通过type获取内容 认证类型  1-身份认证  2-企业认证
func (obj *_WkbRealnameAuthMgr) GetFromType(_type int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("type = ?", _type).Find(&results).Error

	return
}

// GetBatchFromType 批量唯一主键查找 认证类型  1-身份认证  2-企业认证
func (obj *_WkbRealnameAuthMgr) GetBatchFromType(_types []int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("type IN (?)", _types).Find(&results).Error

	return
}

// GetFromFaeCategoryID 通过fae_category_id获取内容 fae申请版主应用分类
func (obj *_WkbRealnameAuthMgr) GetFromFaeCategoryID(faeCategoryID string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("fae_category_id = ?", faeCategoryID).Find(&results).Error

	return
}

// GetBatchFromFaeCategoryID 批量唯一主键查找 fae申请版主应用分类
func (obj *_WkbRealnameAuthMgr) GetBatchFromFaeCategoryID(faeCategoryIDs []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("fae_category_id IN (?)", faeCategoryIDs).Find(&results).Error

	return
}

// GetFromUsertype 通过usertype获取内容 用户类型
func (obj *_WkbRealnameAuthMgr) GetFromUsertype(usertype int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("usertype = ?", usertype).Find(&results).Error

	return
}

// GetBatchFromUsertype 批量唯一主键查找 用户类型
func (obj *_WkbRealnameAuthMgr) GetBatchFromUsertype(usertypes []int8) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("usertype IN (?)", usertypes).Find(&results).Error

	return
}

// GetFromReason 通过reason获取内容 审核失败理由
func (obj *_WkbRealnameAuthMgr) GetFromReason(reason string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("reason = ?", reason).Find(&results).Error

	return
}

// GetBatchFromReason 批量唯一主键查找 审核失败理由
func (obj *_WkbRealnameAuthMgr) GetBatchFromReason(reasons []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("reason IN (?)", reasons).Find(&results).Error

	return
}

// GetFromResume 通过resume获取内容 简历
func (obj *_WkbRealnameAuthMgr) GetFromResume(resume string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("resume = ?", resume).Find(&results).Error

	return
}

// GetBatchFromResume 批量唯一主键查找 简历
func (obj *_WkbRealnameAuthMgr) GetBatchFromResume(resumes []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("resume IN (?)", resumes).Find(&results).Error

	return
}

// GetFromProvince 通过province获取内容 省
func (obj *_WkbRealnameAuthMgr) GetFromProvince(province int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("province = ?", province).Find(&results).Error

	return
}

// GetBatchFromProvince 批量唯一主键查找 省
func (obj *_WkbRealnameAuthMgr) GetBatchFromProvince(provinces []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("province IN (?)", provinces).Find(&results).Error

	return
}

// GetFromCity 通过city获取内容 市
func (obj *_WkbRealnameAuthMgr) GetFromCity(city int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("city = ?", city).Find(&results).Error

	return
}

// GetBatchFromCity 批量唯一主键查找 市
func (obj *_WkbRealnameAuthMgr) GetBatchFromCity(citys []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("city IN (?)", citys).Find(&results).Error

	return
}

// GetFromCompanyAddress 通过company_address获取内容 所在公司
func (obj *_WkbRealnameAuthMgr) GetFromCompanyAddress(companyAddress string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("company_address = ?", companyAddress).Find(&results).Error

	return
}

// GetBatchFromCompanyAddress 批量唯一主键查找 所在公司
func (obj *_WkbRealnameAuthMgr) GetBatchFromCompanyAddress(companyAddresss []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("company_address IN (?)", companyAddresss).Find(&results).Error

	return
}

// GetFromWorkingYear 通过working_year获取内容 工作年限
func (obj *_WkbRealnameAuthMgr) GetFromWorkingYear(workingYear string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("working_year = ?", workingYear).Find(&results).Error

	return
}

// GetBatchFromWorkingYear 批量唯一主键查找 工作年限
func (obj *_WkbRealnameAuthMgr) GetBatchFromWorkingYear(workingYears []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("working_year IN (?)", workingYears).Find(&results).Error

	return
}

// GetFromAuthTime 通过auth_time获取内容 认证通过时间
func (obj *_WkbRealnameAuthMgr) GetFromAuthTime(authTime time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("auth_time = ?", authTime).Find(&results).Error

	return
}

// GetBatchFromAuthTime 批量唯一主键查找 认证通过时间
func (obj *_WkbRealnameAuthMgr) GetBatchFromAuthTime(authTimes []time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("auth_time IN (?)", authTimes).Find(&results).Error

	return
}

// GetFromFailTime 通过fail_time获取内容 审核失败时间
func (obj *_WkbRealnameAuthMgr) GetFromFailTime(failTime time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("fail_time = ?", failTime).Find(&results).Error

	return
}

// GetBatchFromFailTime 批量唯一主键查找 审核失败时间
func (obj *_WkbRealnameAuthMgr) GetBatchFromFailTime(failTimes []time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("fail_time IN (?)", failTimes).Find(&results).Error

	return
}

// GetFromIntegralOne 通过integral_one获取内容 FAE认证积分
func (obj *_WkbRealnameAuthMgr) GetFromIntegralOne(integralOne int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("integral_one = ?", integralOne).Find(&results).Error

	return
}

// GetBatchFromIntegralOne 批量唯一主键查找 FAE认证积分
func (obj *_WkbRealnameAuthMgr) GetBatchFromIntegralOne(integralOnes []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("integral_one IN (?)", integralOnes).Find(&results).Error

	return
}

// GetFromIntegralTwo 通过integral_two获取内容 邀请人积分
func (obj *_WkbRealnameAuthMgr) GetFromIntegralTwo(integralTwo int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("integral_two = ?", integralTwo).Find(&results).Error

	return
}

// GetBatchFromIntegralTwo 批量唯一主键查找 邀请人积分
func (obj *_WkbRealnameAuthMgr) GetBatchFromIntegralTwo(integralTwos []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("integral_two IN (?)", integralTwos).Find(&results).Error

	return
}

// GetFromRecordText 通过record_text获取内容 记录文本
func (obj *_WkbRealnameAuthMgr) GetFromRecordText(recordText string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("record_text = ?", recordText).Find(&results).Error

	return
}

// GetBatchFromRecordText 批量唯一主键查找 记录文本
func (obj *_WkbRealnameAuthMgr) GetBatchFromRecordText(recordTexts []string) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("record_text IN (?)", recordTexts).Find(&results).Error

	return
}

// GetFromNoviceVideo 通过novice_video获取内容 新手视频
func (obj *_WkbRealnameAuthMgr) GetFromNoviceVideo(noviceVideo int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("novice_video = ?", noviceVideo).Find(&results).Error

	return
}

// GetBatchFromNoviceVideo 批量唯一主键查找 新手视频
func (obj *_WkbRealnameAuthMgr) GetBatchFromNoviceVideo(noviceVideos []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("novice_video IN (?)", noviceVideos).Find(&results).Error

	return
}

// GetFromClass 通过class获取内容 分类
func (obj *_WkbRealnameAuthMgr) GetFromClass(class int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("class = ?", class).Find(&results).Error

	return
}

// GetBatchFromClass 批量唯一主键查找 分类
func (obj *_WkbRealnameAuthMgr) GetBatchFromClass(classs []int) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("class IN (?)", classs).Find(&results).Error

	return
}

// GetFromCreatedAt 通过created_at获取内容 创建时间
func (obj *_WkbRealnameAuthMgr) GetFromCreatedAt(createdAt time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("created_at = ?", createdAt).Find(&results).Error

	return
}

// GetBatchFromCreatedAt 批量唯一主键查找 创建时间
func (obj *_WkbRealnameAuthMgr) GetBatchFromCreatedAt(createdAts []time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("created_at IN (?)", createdAts).Find(&results).Error

	return
}

// GetFromUpdatedAt 通过updated_at获取内容 更新时间
func (obj *_WkbRealnameAuthMgr) GetFromUpdatedAt(updatedAt time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("updated_at = ?", updatedAt).Find(&results).Error

	return
}

// GetBatchFromUpdatedAt 批量唯一主键查找 更新时间
func (obj *_WkbRealnameAuthMgr) GetBatchFromUpdatedAt(updatedAts []time.Time) (results []*WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("updated_at IN (?)", updatedAts).Find(&results).Error

	return
}

//////////////////////////primary index case ////////////////////////////////////////////

// FetchByPrimaryKey primay or index 获取唯一内容
func (obj *_WkbRealnameAuthMgr) FetchByPrimaryKey(id int) (result WkbRealnameAuth, err error) {
	err = obj.DB.WithContext(obj.ctx).Table(obj.GetTableName()).Where("id = ?", id).Find(&result).Error

	return
}
